package com.ppch.wuwamanus.tools;

import cn.hutool.core.io.FileUtil;
import cn.hutool.http.HttpUtil;
import org.springframework.ai.tool.annotation.Tool;
import org.springframework.ai.tool.annotation.ToolParam;

import java.io.File;

/**
 * Package:ppch-ai-agent
 * ClassName:FileOperationTool
 *
 * @Author 泡泡茶壶
 * @Create 2025/7/18 14:46
 * @Version 1.0
 * Description:
 *  资源下载
 */
public class ResourceDownloadTool {

    @Tool(description = "根据资源文件的 URL 路径下载文件并保存到本地")
    public String downloadResource(@ToolParam(description = "要下载的资源文件的完整URL路径") String url,
                                   @ToolParam(description = "资源文件的名称") String fileName) {
        String fileDir = FilePath.FILE_SAVE_PATH + "/download";
        String filePath = fileDir + "/" + fileName;
        try {
            // 创建目录
            FileUtil.mkdir(fileDir);
            // 使用 Hutool 的 downloadFile 方法下载资源
            HttpUtil.downloadFile(url, new File(filePath));
            return "资源成功下载到: " + filePath;
        } catch (Exception e) {
            return "资源下载失败: " + e.getMessage();
        }
    }
}
